﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Mail;
using System.Web;

namespace PortalBusiness.Emails
{
    public static class Emails
    {
        public static bool EnviarLembreteSenha(string Email, string Senha) {

            //try 
            //{ 
 
                MailMessage mailMessage = new MailMessage(); 
                //Endereço que irá aparecer no e-mail do usuário 
                mailMessage.From = new MailAddress(
                    System.Configuration.ConfigurationManager.AppSettings["FromEmail"],
                    System.Configuration.ConfigurationManager.AppSettings["FromNome"]); 
                //destinatarios do e-mail, para incluir mais de um basta separar por ponto e virgula  
                mailMessage.To.Add(Email); 
                mailMessage.Subject = "Lembrete de Senha!"; 
                mailMessage.IsBodyHtml = true; 
                //conteudo do corpo do e-mail 
                string corpo = "Olá! <br/><br/> Conforme solicitado segue o lembrete de senha. <br/> <br/>";
                corpo += "<b>Senha: </b>" + Senha + "<br/> <br/> Atenciosamente, <br/>Business";

                mailMessage.Body = corpo; 
                
                //smtp do e-mail que irá enviar 
                SmtpClient smtpClient = new SmtpClient(System.Configuration.ConfigurationManager.AppSettings["Smtp"]);
                smtpClient.EnableSsl = false;// Convert.ToBoolean(System.Configuration.ConfigurationManager.AppSettings["EnableSsl"]);
                smtpClient.Port = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["Port"]);
                //credenciais da conta que utilizará para enviar o e-mail 
                smtpClient.Credentials = new NetworkCredential(
                    System.Configuration.ConfigurationManager.AppSettings["Login"],
                    System.Configuration.ConfigurationManager.AppSettings["Senha"]);
                smtpClient.UseDefaultCredentials = false;
                // smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
                smtpClient.Send(mailMessage); 
                return true; 
            //} 
            //catch 
            //{ 
            //    return false; 
            //} 
            
        }

        public static bool EnviarSolicitacao(string Email)
        {

            try
            {

                MailMessage mailMessage = new MailMessage();
                //Endereço que irá aparecer no e-mail do usuário 
                mailMessage.From = new MailAddress(
                    System.Configuration.ConfigurationManager.AppSettings["FromEmail"],
                    System.Configuration.ConfigurationManager.AppSettings["FromNome"]);
                //destinatarios do e-mail, para incluir mais de um basta separar por ponto e virgula  
                mailMessage.To.Add(System.Configuration.ConfigurationManager.AppSettings["ToEmailAviso"]);
                mailMessage.Subject = "Solicitação de liberação!";
                mailMessage.IsBodyHtml = true;
                //conteudo do corpo do e-mail 
                string corpo = "Olá! <br/><br/> Solicitação de liberação de acesso <br/> <br/>";
                corpo += "<b>Email: </b>" + Email + "<br/> <br/> Atenciosamente, <br/>Business";

                mailMessage.Body = corpo;
                
                //smtp do e-mail que irá enviar 
                SmtpClient smtpClient = new SmtpClient(System.Configuration.ConfigurationManager.AppSettings["Smtp"]);
                smtpClient.EnableSsl = Convert.ToBoolean(System.Configuration.ConfigurationManager.AppSettings["EnableSsl"]);
                smtpClient.Port = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["Port"]);
                //credenciais da conta que utilizará para enviar o e-mail 
                smtpClient.Credentials = new NetworkCredential(
                    System.Configuration.ConfigurationManager.AppSettings["Login"],
                    System.Configuration.ConfigurationManager.AppSettings["Senha"]);
                smtpClient.Send(mailMessage);
                return true;
            }
            catch
            {
                return false;
            }

        }
        public static bool AcompanhamentoPendencia(string De, string Para, string Mensagem)
        {

            try
            {
                MailMessage mailMessage = new MailMessage();
                //Endereço que irá aparecer no e-mail do usuário 
                mailMessage.From = new MailAddress(
                    System.Configuration.ConfigurationManager.AppSettings["FromEmail"], De);
                //destinatarios do e-mail, para incluir mais de um basta separar por ponto e virgula  
                mailMessage.To.Add(Para);
                mailMessage.Subject = "Acompanhamento de Pendencia!";
                mailMessage.IsBodyHtml = true;
                //conteudo do corpo do e-mail 
                string corpo = "Olá! <br/><br/> Segue as anotações da pendência: <br/> <br/>";
                corpo += "<b>" + Mensagem + "</b> <br/> <br/> Atenciosamente, <br/>" + De;

                mailMessage.Body = corpo;

                //smtp do e-mail que irá enviar 
                SmtpClient smtpClient = new SmtpClient(System.Configuration.ConfigurationManager.AppSettings["Smtp"]);
                smtpClient.EnableSsl = Convert.ToBoolean(System.Configuration.ConfigurationManager.AppSettings["EnableSsl"]);
                smtpClient.Port = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["Port"]);
                //credenciais da conta que utilizará para enviar o e-mail 
                smtpClient.Credentials = new NetworkCredential(
                    System.Configuration.ConfigurationManager.AppSettings["Login"],
                    System.Configuration.ConfigurationManager.AppSettings["Senha"]);
                smtpClient.Send(mailMessage);
                return true;


            }
            catch (Exception)
            {
                return false;
            }


        }
    }
}